3-5 Jmeter测试流程:使用Jmeter创建测试
创建测试计划
JMeter 的测试计划按从上至下的顺序执行各模块,所有测试配置围绕测试计划展开。
1. 配置 HTTP 请求默认值
在测试计划上右键 添加 → 配置元件 → HTTP 请求默认值,设置公共参数后,后续所有 HTTP 请求无需重复配置:
| 配置项 | 说明 |
|---|---|
| 协议 | http 或 https |
| 服务器 | IP 地址或域名 |
| 端口号 | 服务端口 |
| 内容编码 | UTF-8 |
2. 添加线程组
线程组是测试的核心,代表虚拟用户集合。右键测试计划 添加 → 线程 → 线程组:
| 线程组类型 | 类比 | 说明 |
|---|---|---|
| setUp 线程组 | beforeAll | 最先执行的准备工作 |
| 线程组 | 测试主体 | 所有请求放在这里 |
| tearDown 线程组 | afterAll | 最后执行的清理工作 |
线程属性:
| 属性 | 说明 |
|---|---|
| 线程数 | 模拟的用户数量(如 100 = 100 个用户) |
| 循环次数 | 该线程组下请求重复执行的次数 |
| Ramp-Up 时间 | 线程启动间隔(秒) |
| 调度器 | 可设置持续时长而非循环次数 |
3. 添加 HTTP 请求
在线程组上右键 添加 → 取样器 → HTTP 请求,配置路径即可(协议/端口已在默认值中配置)。
4. 添加监听器
监听器用于查看和分析测试结果:
| 监听器 | 用途 |
|---|---|
| 查看结果树 | 查看每个请求的详细请求/响应数据 |
| 聚合报告 | 统计每个请求的样本数、平均值、中位数、吞吐量 |
| 汇总报告 | 整体汇总统计 |
| TPS 图表 | 每秒事务数的可视化曲线 |
定时器
定时器用于控制请求的执行节奏,是性能测试的关键配置。
同步定时器(Synchronizing Timer)
控制并发数量——等待足够数量的线程就绪后同时释放:
| 参数 | 说明 |
|---|---|
| 模拟用户组的数量 | 同时发起请求的线程数(如 20 = 每次凑齐 20 个线程同时请求) |
| 超时时间 | 等待线程就绪的超时时间(毫秒),0 表示无限等待 |
关键规则:线程组的线程数必须大于等于同步定时器的模拟用户数量。如果线程数不足且超时为 0,测试将永久阻塞。
位置规则:
- 放在某个请求内 → 仅对该请求生效
- 放在线程组最上面 → 对线程组内所有请求生效
常数吞吐量定时器(Constant Throughput Timer)
控制每分钟的请求总量:
目标吞吐量 = QPS × 60
示例:50 QPS → 目标吞吐量 = 50 × 60 = 3000(每分钟样本数)
text
| 定时器 | 控制维度 |
|---|---|
| 同步定时器 | 每次同时并发多少用户 |
| 常数吞吐量定时器 | 每分钟/每秒总共处理多少请求 |
执行控制
顺序执行 vs 并发执行
在测试计划设置中勾选 Run Thread Groups consecutively 即为顺序执行,取消勾选则为并发执行。
实战场景示例
需求:100 个用户、50 QPS、持续 20 秒
配置方式:
| 配置项 | 值 | 说明 |
|---|---|---|
| 线程数 | 100 | 100 个虚拟用户 |
| 循环次数 | 永远 | 配合调度器使用 |
| 持续时间 | 20 秒 | 调度器设定 |
| 常数吞吐量定时器 | 3000 | 50 × 60 = 3000(每分钟样本数) |
| 同步定时器 | 模拟用户组数量 120 | 确保足够并发 |
执行 20 秒后可在聚合报告中查看:
- 总样本数量
- 每个请求的平均响应时间
- 吞吐量是否满足 50 QPS 目标
- TPS 图表中的事务处理趋势
结果分析
聚合报告关键字段
| 字段 | 说明 |
|---|---|
| 样本数 | 总共发送的请求数量 |
| 平均值 | 平均响应时间(ms) |
| 中位数 | 50% 请求的响应时间 |
| 90% 百分位 | 90% 请求的响应时间 |
| 吞吐量 | 每秒处理的请求数 |
| 错误率 | 失败请求占比 |
图表分析
- TPS 图:查看事务处理能力是否稳定
- Response Times Over Time:响应时间随并发变化的趋势
- Active Threads Over Time:活跃线程数的变化,验证并发是否达到预期
参考资源
- JMeter 用户手册 - 官方文档
- JMeter Component Reference - 各组件详细说明
↑